﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Chilis.Marketing.Business.Logic;
using Chilis.Marketing.Business.Entity;
using Chilis.Marketing.Common;
using System.Data;
using System.Text;

public partial class Gral_Trabajador : System.Web.UI.Page
{
    #region ATRIBUTOS

    private BLTrabajador trabajadorBL;

    #endregion

    #region PROPIEDADES
    #endregion

    #region METODOS

    public BETrabajador ObtenerTrabjadorBE_WebForm()
    {
        BETrabajador trabajadorBE = new BETrabajador();
        trabajadorBE.Nombres = this.txtNombre.Text.Replace("'", "''");
        trabajadorBE.ApellidoPaterno = this.txtApellidoPaterno.Text.Replace("'", "''");
        trabajadorBE.ApellidoMaterno = this.txtApellidoMaterno.Text.Replace("'", "''");

        trabajadorBE.Estado = Constantes.ESTADO.ACTIVO;
        trabajadorBE.Order_by = (char)Constantes.ORDENAR_POR.CODIGO;
        trabajadorBE.De_forma = (char)Constantes.DE_FORMA.ASCENDENTE;

        return trabajadorBE;
    }

    public void CargarGrillaListado(bool deBuscar)
    {
        if (deBuscar == true)
        {
            this.gvTrabajadores.PageIndex = 0;
        }

        BETrabajador trabajadorBE = this.ObtenerTrabjadorBE_WebForm();
        this.trabajadorBL = new BLTrabajador();
        DataTable dt = this.trabajadorBL.buscarTrabajadores(trabajadorBE);
        this.gvTrabajadores.DataSource = dt;
        this.gvTrabajadores.DataBind();
    }

    private void LimpiarFormulario()
    {
        try
        {
            this.txtNombre.Text = string.Empty;
            this.txtApellidoPaterno.Text = string.Empty;
            this.txtApellidoMaterno.Text = string.Empty;
        }
        catch (Exception)
        {
        }
    }

    #endregion

    #region EVENTOS

    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            ControlHelper.RegisterClientScriptFile(this, "jquery.js", true);
            ControlHelper.RegisterClientScriptFile(this, "json2.js", true);
            ControlHelper.RegisterClientScriptFile(this, "thickbox.js", true);
            ControlHelper.RegisterClientScriptFile(this, "trabajador.js", true);

            if (!Page.IsPostBack)
            {
                this.CargarGrillaListado(false);
            }
        }
        catch (Exception ex)
        {
            Response.Redirect("~/Error.aspx?titError=" + Mensajes.msjeError_CargaRegistros + "&descError=" + ex.Message, false);
        }
    }

    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            this.CargarGrillaListado(true);
        }
        catch (Exception ex)
        {
            Response.Redirect("~/Error.aspx?titError=" + Mensajes.msjeError_CargaRegistros + "&descError=" + ex.Message, false);
        }
    }
    protected void btnLimpiar_Click(object sender, EventArgs e)
    {
        this.LimpiarFormulario();
    }
    protected void gvTrabajadores_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        this.gvTrabajadores.PageIndex = e.NewPageIndex;
        this.CargarGrillaListado(false);
    }
    protected void gvTrabajadores_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Control btnAgregarInst = e.Row.FindControl("btnAgregarItem");
            if (btnAgregarInst != null)
            {
                StringBuilder click = new StringBuilder();
                string idTrabajador = ((Label)e.Row.FindControl("lblCodigo")).Text;
                string nombres = ((Label)e.Row.FindControl("lblNombres")).Text;
                string apellidoPaterno = ((Label)e.Row.FindControl("lblApellidoPaterno")).Text;
                string apellidoMaterno = ((Label)e.Row.FindControl("lblApellidoMaterno")).Text;
                string nombreCompleto = apellidoPaterno.ToUpper();
                nombreCompleto += (apellidoMaterno != string.Empty ? " " + apellidoMaterno.ToUpper() : string.Empty);
                nombreCompleto += (nombres != string.Empty ? ", " + nombres : string.Empty);


                click.AppendLine(String.Format("onGrillaFilaSeleccionada('{0}','{1}','{2}','{3}')", this.gvTrabajadores.ClientID,
                                                                                                    e.Row.RowIndex,
                                                                                                    idTrabajador,
                                                                                                    nombreCompleto));
                e.Row.Attributes.Add("onclick", click.ToString());
            }
        }
    }

    #endregion


}